package com.jhgk.jhcee.auth.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserWishesExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserWishesExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdIsNull() {
            addCriterion("student_record_id is null");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdIsNotNull() {
            addCriterion("student_record_id is not null");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdEqualTo(Integer value) {
            addCriterion("student_record_id =", value, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdNotEqualTo(Integer value) {
            addCriterion("student_record_id <>", value, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdGreaterThan(Integer value) {
            addCriterion("student_record_id >", value, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("student_record_id >=", value, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdLessThan(Integer value) {
            addCriterion("student_record_id <", value, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdLessThanOrEqualTo(Integer value) {
            addCriterion("student_record_id <=", value, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdIn(List<Integer> values) {
            addCriterion("student_record_id in", values, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdNotIn(List<Integer> values) {
            addCriterion("student_record_id not in", values, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdBetween(Integer value1, Integer value2) {
            addCriterion("student_record_id between", value1, value2, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordIdNotBetween(Integer value1, Integer value2) {
            addCriterion("student_record_id not between", value1, value2, "studentRecordId");
            return (Criteria) this;
        }

        public Criteria andStudentIdIsNull() {
            addCriterion("student_id is null");
            return (Criteria) this;
        }

        public Criteria andStudentIdIsNotNull() {
            addCriterion("student_id is not null");
            return (Criteria) this;
        }

        public Criteria andStudentIdEqualTo(Integer value) {
            addCriterion("student_id =", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotEqualTo(Integer value) {
            addCriterion("student_id <>", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdGreaterThan(Integer value) {
            addCriterion("student_id >", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("student_id >=", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdLessThan(Integer value) {
            addCriterion("student_id <", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdLessThanOrEqualTo(Integer value) {
            addCriterion("student_id <=", value, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdIn(List<Integer> values) {
            addCriterion("student_id in", values, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotIn(List<Integer> values) {
            addCriterion("student_id not in", values, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdBetween(Integer value1, Integer value2) {
            addCriterion("student_id between", value1, value2, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentIdNotBetween(Integer value1, Integer value2) {
            addCriterion("student_id not between", value1, value2, "studentId");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameIsNull() {
            addCriterion("student_record_name is null");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameIsNotNull() {
            addCriterion("student_record_name is not null");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameEqualTo(String value) {
            addCriterion("student_record_name =", value, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameNotEqualTo(String value) {
            addCriterion("student_record_name <>", value, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameGreaterThan(String value) {
            addCriterion("student_record_name >", value, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameGreaterThanOrEqualTo(String value) {
            addCriterion("student_record_name >=", value, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameLessThan(String value) {
            addCriterion("student_record_name <", value, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameLessThanOrEqualTo(String value) {
            addCriterion("student_record_name <=", value, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameLike(String value) {
            addCriterion("student_record_name like", value, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameNotLike(String value) {
            addCriterion("student_record_name not like", value, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameIn(List<String> values) {
            addCriterion("student_record_name in", values, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameNotIn(List<String> values) {
            addCriterion("student_record_name not in", values, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameBetween(String value1, String value2) {
            addCriterion("student_record_name between", value1, value2, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andStudentRecordNameNotBetween(String value1, String value2) {
            addCriterion("student_record_name not between", value1, value2, "studentRecordName");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionIsNull() {
            addCriterion("profession_direction is null");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionIsNotNull() {
            addCriterion("profession_direction is not null");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionEqualTo(String value) {
            addCriterion("profession_direction =", value, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionNotEqualTo(String value) {
            addCriterion("profession_direction <>", value, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionGreaterThan(String value) {
            addCriterion("profession_direction >", value, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionGreaterThanOrEqualTo(String value) {
            addCriterion("profession_direction >=", value, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionLessThan(String value) {
            addCriterion("profession_direction <", value, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionLessThanOrEqualTo(String value) {
            addCriterion("profession_direction <=", value, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionLike(String value) {
            addCriterion("profession_direction like", value, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionNotLike(String value) {
            addCriterion("profession_direction not like", value, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionIn(List<String> values) {
            addCriterion("profession_direction in", values, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionNotIn(List<String> values) {
            addCriterion("profession_direction not in", values, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionBetween(String value1, String value2) {
            addCriterion("profession_direction between", value1, value2, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andProfessionDirectionNotBetween(String value1, String value2) {
            addCriterion("profession_direction not between", value1, value2, "professionDirection");
            return (Criteria) this;
        }

        public Criteria andStudentNameIsNull() {
            addCriterion("student_name is null");
            return (Criteria) this;
        }

        public Criteria andStudentNameIsNotNull() {
            addCriterion("student_name is not null");
            return (Criteria) this;
        }

        public Criteria andStudentNameEqualTo(String value) {
            addCriterion("student_name =", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameNotEqualTo(String value) {
            addCriterion("student_name <>", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameGreaterThan(String value) {
            addCriterion("student_name >", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameGreaterThanOrEqualTo(String value) {
            addCriterion("student_name >=", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameLessThan(String value) {
            addCriterion("student_name <", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameLessThanOrEqualTo(String value) {
            addCriterion("student_name <=", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameLike(String value) {
            addCriterion("student_name like", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameNotLike(String value) {
            addCriterion("student_name not like", value, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameIn(List<String> values) {
            addCriterion("student_name in", values, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameNotIn(List<String> values) {
            addCriterion("student_name not in", values, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameBetween(String value1, String value2) {
            addCriterion("student_name between", value1, value2, "studentName");
            return (Criteria) this;
        }

        public Criteria andStudentNameNotBetween(String value1, String value2) {
            addCriterion("student_name not between", value1, value2, "studentName");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberIsNull() {
            addCriterion("phone_number is null");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberIsNotNull() {
            addCriterion("phone_number is not null");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberEqualTo(String value) {
            addCriterion("phone_number =", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberNotEqualTo(String value) {
            addCriterion("phone_number <>", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberGreaterThan(String value) {
            addCriterion("phone_number >", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberGreaterThanOrEqualTo(String value) {
            addCriterion("phone_number >=", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberLessThan(String value) {
            addCriterion("phone_number <", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberLessThanOrEqualTo(String value) {
            addCriterion("phone_number <=", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberLike(String value) {
            addCriterion("phone_number like", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberNotLike(String value) {
            addCriterion("phone_number not like", value, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberIn(List<String> values) {
            addCriterion("phone_number in", values, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberNotIn(List<String> values) {
            addCriterion("phone_number not in", values, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberBetween(String value1, String value2) {
            addCriterion("phone_number between", value1, value2, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andPhoneNumberNotBetween(String value1, String value2) {
            addCriterion("phone_number not between", value1, value2, "phoneNumber");
            return (Criteria) this;
        }

        public Criteria andGraduateYearIsNull() {
            addCriterion("graduate_year is null");
            return (Criteria) this;
        }

        public Criteria andGraduateYearIsNotNull() {
            addCriterion("graduate_year is not null");
            return (Criteria) this;
        }

        public Criteria andGraduateYearEqualTo(Integer value) {
            addCriterion("graduate_year =", value, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearNotEqualTo(Integer value) {
            addCriterion("graduate_year <>", value, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearGreaterThan(Integer value) {
            addCriterion("graduate_year >", value, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearGreaterThanOrEqualTo(Integer value) {
            addCriterion("graduate_year >=", value, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearLessThan(Integer value) {
            addCriterion("graduate_year <", value, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearLessThanOrEqualTo(Integer value) {
            addCriterion("graduate_year <=", value, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearIn(List<Integer> values) {
            addCriterion("graduate_year in", values, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearNotIn(List<Integer> values) {
            addCriterion("graduate_year not in", values, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearBetween(Integer value1, Integer value2) {
            addCriterion("graduate_year between", value1, value2, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andGraduateYearNotBetween(Integer value1, Integer value2) {
            addCriterion("graduate_year not between", value1, value2, "graduateYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearIsNull() {
            addCriterion("record_year is null");
            return (Criteria) this;
        }

        public Criteria andRecordYearIsNotNull() {
            addCriterion("record_year is not null");
            return (Criteria) this;
        }

        public Criteria andRecordYearEqualTo(Integer value) {
            addCriterion("record_year =", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearNotEqualTo(Integer value) {
            addCriterion("record_year <>", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearGreaterThan(Integer value) {
            addCriterion("record_year >", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearGreaterThanOrEqualTo(Integer value) {
            addCriterion("record_year >=", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearLessThan(Integer value) {
            addCriterion("record_year <", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearLessThanOrEqualTo(Integer value) {
            addCriterion("record_year <=", value, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearIn(List<Integer> values) {
            addCriterion("record_year in", values, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearNotIn(List<Integer> values) {
            addCriterion("record_year not in", values, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearBetween(Integer value1, Integer value2) {
            addCriterion("record_year between", value1, value2, "recordYear");
            return (Criteria) this;
        }

        public Criteria andRecordYearNotBetween(Integer value1, Integer value2) {
            addCriterion("record_year not between", value1, value2, "recordYear");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidIsNull() {
            addCriterion("province_uuid is null");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidIsNotNull() {
            addCriterion("province_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidEqualTo(String value) {
            addCriterion("province_uuid =", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidNotEqualTo(String value) {
            addCriterion("province_uuid <>", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidGreaterThan(String value) {
            addCriterion("province_uuid >", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidGreaterThanOrEqualTo(String value) {
            addCriterion("province_uuid >=", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidLessThan(String value) {
            addCriterion("province_uuid <", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidLessThanOrEqualTo(String value) {
            addCriterion("province_uuid <=", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidLike(String value) {
            addCriterion("province_uuid like", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidNotLike(String value) {
            addCriterion("province_uuid not like", value, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidIn(List<String> values) {
            addCriterion("province_uuid in", values, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidNotIn(List<String> values) {
            addCriterion("province_uuid not in", values, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidBetween(String value1, String value2) {
            addCriterion("province_uuid between", value1, value2, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceUuidNotBetween(String value1, String value2) {
            addCriterion("province_uuid not between", value1, value2, "provinceUuid");
            return (Criteria) this;
        }

        public Criteria andProvinceNameIsNull() {
            addCriterion("province_name is null");
            return (Criteria) this;
        }

        public Criteria andProvinceNameIsNotNull() {
            addCriterion("province_name is not null");
            return (Criteria) this;
        }

        public Criteria andProvinceNameEqualTo(String value) {
            addCriterion("province_name =", value, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameNotEqualTo(String value) {
            addCriterion("province_name <>", value, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameGreaterThan(String value) {
            addCriterion("province_name >", value, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameGreaterThanOrEqualTo(String value) {
            addCriterion("province_name >=", value, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameLessThan(String value) {
            addCriterion("province_name <", value, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameLessThanOrEqualTo(String value) {
            addCriterion("province_name <=", value, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameLike(String value) {
            addCriterion("province_name like", value, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameNotLike(String value) {
            addCriterion("province_name not like", value, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameIn(List<String> values) {
            addCriterion("province_name in", values, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameNotIn(List<String> values) {
            addCriterion("province_name not in", values, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameBetween(String value1, String value2) {
            addCriterion("province_name between", value1, value2, "provinceName");
            return (Criteria) this;
        }

        public Criteria andProvinceNameNotBetween(String value1, String value2) {
            addCriterion("province_name not between", value1, value2, "provinceName");
            return (Criteria) this;
        }

        public Criteria andSubjectIsNull() {
            addCriterion("subject is null");
            return (Criteria) this;
        }

        public Criteria andSubjectIsNotNull() {
            addCriterion("subject is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectEqualTo(String value) {
            addCriterion("subject =", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotEqualTo(String value) {
            addCriterion("subject <>", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectGreaterThan(String value) {
            addCriterion("subject >", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectGreaterThanOrEqualTo(String value) {
            addCriterion("subject >=", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLessThan(String value) {
            addCriterion("subject <", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLessThanOrEqualTo(String value) {
            addCriterion("subject <=", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectLike(String value) {
            addCriterion("subject like", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotLike(String value) {
            addCriterion("subject not like", value, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectIn(List<String> values) {
            addCriterion("subject in", values, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotIn(List<String> values) {
            addCriterion("subject not in", values, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectBetween(String value1, String value2) {
            addCriterion("subject between", value1, value2, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNotBetween(String value1, String value2) {
            addCriterion("subject not between", value1, value2, "subject");
            return (Criteria) this;
        }

        public Criteria andSubjectNameIsNull() {
            addCriterion("subject_name is null");
            return (Criteria) this;
        }

        public Criteria andSubjectNameIsNotNull() {
            addCriterion("subject_name is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectNameEqualTo(String value) {
            addCriterion("subject_name =", value, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameNotEqualTo(String value) {
            addCriterion("subject_name <>", value, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameGreaterThan(String value) {
            addCriterion("subject_name >", value, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameGreaterThanOrEqualTo(String value) {
            addCriterion("subject_name >=", value, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameLessThan(String value) {
            addCriterion("subject_name <", value, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameLessThanOrEqualTo(String value) {
            addCriterion("subject_name <=", value, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameLike(String value) {
            addCriterion("subject_name like", value, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameNotLike(String value) {
            addCriterion("subject_name not like", value, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameIn(List<String> values) {
            addCriterion("subject_name in", values, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameNotIn(List<String> values) {
            addCriterion("subject_name not in", values, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameBetween(String value1, String value2) {
            addCriterion("subject_name between", value1, value2, "subjectName");
            return (Criteria) this;
        }

        public Criteria andSubjectNameNotBetween(String value1, String value2) {
            addCriterion("subject_name not between", value1, value2, "subjectName");
            return (Criteria) this;
        }

        public Criteria andBatchUuidIsNull() {
            addCriterion("batch_uuid is null");
            return (Criteria) this;
        }

        public Criteria andBatchUuidIsNotNull() {
            addCriterion("batch_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andBatchUuidEqualTo(String value) {
            addCriterion("batch_uuid =", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidNotEqualTo(String value) {
            addCriterion("batch_uuid <>", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidGreaterThan(String value) {
            addCriterion("batch_uuid >", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidGreaterThanOrEqualTo(String value) {
            addCriterion("batch_uuid >=", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidLessThan(String value) {
            addCriterion("batch_uuid <", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidLessThanOrEqualTo(String value) {
            addCriterion("batch_uuid <=", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidLike(String value) {
            addCriterion("batch_uuid like", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidNotLike(String value) {
            addCriterion("batch_uuid not like", value, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidIn(List<String> values) {
            addCriterion("batch_uuid in", values, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidNotIn(List<String> values) {
            addCriterion("batch_uuid not in", values, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidBetween(String value1, String value2) {
            addCriterion("batch_uuid between", value1, value2, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchUuidNotBetween(String value1, String value2) {
            addCriterion("batch_uuid not between", value1, value2, "batchUuid");
            return (Criteria) this;
        }

        public Criteria andBatchNameIsNull() {
            addCriterion("batch_name is null");
            return (Criteria) this;
        }

        public Criteria andBatchNameIsNotNull() {
            addCriterion("batch_name is not null");
            return (Criteria) this;
        }

        public Criteria andBatchNameEqualTo(String value) {
            addCriterion("batch_name =", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameNotEqualTo(String value) {
            addCriterion("batch_name <>", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameGreaterThan(String value) {
            addCriterion("batch_name >", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameGreaterThanOrEqualTo(String value) {
            addCriterion("batch_name >=", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameLessThan(String value) {
            addCriterion("batch_name <", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameLessThanOrEqualTo(String value) {
            addCriterion("batch_name <=", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameLike(String value) {
            addCriterion("batch_name like", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameNotLike(String value) {
            addCriterion("batch_name not like", value, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameIn(List<String> values) {
            addCriterion("batch_name in", values, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameNotIn(List<String> values) {
            addCriterion("batch_name not in", values, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameBetween(String value1, String value2) {
            addCriterion("batch_name between", value1, value2, "batchName");
            return (Criteria) this;
        }

        public Criteria andBatchNameNotBetween(String value1, String value2) {
            addCriterion("batch_name not between", value1, value2, "batchName");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdIsNull() {
            addCriterion("expert_user_id is null");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdIsNotNull() {
            addCriterion("expert_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdEqualTo(Integer value) {
            addCriterion("expert_user_id =", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdNotEqualTo(Integer value) {
            addCriterion("expert_user_id <>", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdGreaterThan(Integer value) {
            addCriterion("expert_user_id >", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("expert_user_id >=", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdLessThan(Integer value) {
            addCriterion("expert_user_id <", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("expert_user_id <=", value, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdIn(List<Integer> values) {
            addCriterion("expert_user_id in", values, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdNotIn(List<Integer> values) {
            addCriterion("expert_user_id not in", values, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdBetween(Integer value1, Integer value2) {
            addCriterion("expert_user_id between", value1, value2, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("expert_user_id not between", value1, value2, "expertUserId");
            return (Criteria) this;
        }

        public Criteria andExpertNameIsNull() {
            addCriterion("expert_name is null");
            return (Criteria) this;
        }

        public Criteria andExpertNameIsNotNull() {
            addCriterion("expert_name is not null");
            return (Criteria) this;
        }

        public Criteria andExpertNameEqualTo(String value) {
            addCriterion("expert_name =", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameNotEqualTo(String value) {
            addCriterion("expert_name <>", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameGreaterThan(String value) {
            addCriterion("expert_name >", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameGreaterThanOrEqualTo(String value) {
            addCriterion("expert_name >=", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameLessThan(String value) {
            addCriterion("expert_name <", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameLessThanOrEqualTo(String value) {
            addCriterion("expert_name <=", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameLike(String value) {
            addCriterion("expert_name like", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameNotLike(String value) {
            addCriterion("expert_name not like", value, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameIn(List<String> values) {
            addCriterion("expert_name in", values, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameNotIn(List<String> values) {
            addCriterion("expert_name not in", values, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameBetween(String value1, String value2) {
            addCriterion("expert_name between", value1, value2, "expertName");
            return (Criteria) this;
        }

        public Criteria andExpertNameNotBetween(String value1, String value2) {
            addCriterion("expert_name not between", value1, value2, "expertName");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdIsNull() {
            addCriterion("assistant_user_id is null");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdIsNotNull() {
            addCriterion("assistant_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdEqualTo(Integer value) {
            addCriterion("assistant_user_id =", value, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdNotEqualTo(Integer value) {
            addCriterion("assistant_user_id <>", value, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdGreaterThan(Integer value) {
            addCriterion("assistant_user_id >", value, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("assistant_user_id >=", value, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdLessThan(Integer value) {
            addCriterion("assistant_user_id <", value, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("assistant_user_id <=", value, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdIn(List<Integer> values) {
            addCriterion("assistant_user_id in", values, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdNotIn(List<Integer> values) {
            addCriterion("assistant_user_id not in", values, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdBetween(Integer value1, Integer value2) {
            addCriterion("assistant_user_id between", value1, value2, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("assistant_user_id not between", value1, value2, "assistantUserId");
            return (Criteria) this;
        }

        public Criteria andAssistantNameIsNull() {
            addCriterion("assistant_name is null");
            return (Criteria) this;
        }

        public Criteria andAssistantNameIsNotNull() {
            addCriterion("assistant_name is not null");
            return (Criteria) this;
        }

        public Criteria andAssistantNameEqualTo(String value) {
            addCriterion("assistant_name =", value, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameNotEqualTo(String value) {
            addCriterion("assistant_name <>", value, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameGreaterThan(String value) {
            addCriterion("assistant_name >", value, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameGreaterThanOrEqualTo(String value) {
            addCriterion("assistant_name >=", value, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameLessThan(String value) {
            addCriterion("assistant_name <", value, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameLessThanOrEqualTo(String value) {
            addCriterion("assistant_name <=", value, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameLike(String value) {
            addCriterion("assistant_name like", value, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameNotLike(String value) {
            addCriterion("assistant_name not like", value, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameIn(List<String> values) {
            addCriterion("assistant_name in", values, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameNotIn(List<String> values) {
            addCriterion("assistant_name not in", values, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameBetween(String value1, String value2) {
            addCriterion("assistant_name between", value1, value2, "assistantName");
            return (Criteria) this;
        }

        public Criteria andAssistantNameNotBetween(String value1, String value2) {
            addCriterion("assistant_name not between", value1, value2, "assistantName");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdIsNull() {
            addCriterion("school_recruit_id is null");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdIsNotNull() {
            addCriterion("school_recruit_id is not null");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdEqualTo(Integer value) {
            addCriterion("school_recruit_id =", value, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdNotEqualTo(Integer value) {
            addCriterion("school_recruit_id <>", value, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdGreaterThan(Integer value) {
            addCriterion("school_recruit_id >", value, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("school_recruit_id >=", value, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdLessThan(Integer value) {
            addCriterion("school_recruit_id <", value, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdLessThanOrEqualTo(Integer value) {
            addCriterion("school_recruit_id <=", value, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdIn(List<Integer> values) {
            addCriterion("school_recruit_id in", values, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdNotIn(List<Integer> values) {
            addCriterion("school_recruit_id not in", values, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdBetween(Integer value1, Integer value2) {
            addCriterion("school_recruit_id between", value1, value2, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andSchoolRecruitIdNotBetween(Integer value1, Integer value2) {
            addCriterion("school_recruit_id not between", value1, value2, "schoolRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdIsNull() {
            addCriterion("major_recruit_id is null");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdIsNotNull() {
            addCriterion("major_recruit_id is not null");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdEqualTo(Integer value) {
            addCriterion("major_recruit_id =", value, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdNotEqualTo(Integer value) {
            addCriterion("major_recruit_id <>", value, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdGreaterThan(Integer value) {
            addCriterion("major_recruit_id >", value, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("major_recruit_id >=", value, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdLessThan(Integer value) {
            addCriterion("major_recruit_id <", value, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdLessThanOrEqualTo(Integer value) {
            addCriterion("major_recruit_id <=", value, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdIn(List<Integer> values) {
            addCriterion("major_recruit_id in", values, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdNotIn(List<Integer> values) {
            addCriterion("major_recruit_id not in", values, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdBetween(Integer value1, Integer value2) {
            addCriterion("major_recruit_id between", value1, value2, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andMajorRecruitIdNotBetween(Integer value1, Integer value2) {
            addCriterion("major_recruit_id not between", value1, value2, "majorRecruitId");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoIsNull() {
            addCriterion("is_gaokao is null");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoIsNotNull() {
            addCriterion("is_gaokao is not null");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoEqualTo(Boolean value) {
            addCriterion("is_gaokao =", value, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoNotEqualTo(Boolean value) {
            addCriterion("is_gaokao <>", value, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoGreaterThan(Boolean value) {
            addCriterion("is_gaokao >", value, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_gaokao >=", value, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoLessThan(Boolean value) {
            addCriterion("is_gaokao <", value, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoLessThanOrEqualTo(Boolean value) {
            addCriterion("is_gaokao <=", value, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoIn(List<Boolean> values) {
            addCriterion("is_gaokao in", values, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoNotIn(List<Boolean> values) {
            addCriterion("is_gaokao not in", values, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoBetween(Boolean value1, Boolean value2) {
            addCriterion("is_gaokao between", value1, value2, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andIsGaokaoNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_gaokao not between", value1, value2, "isGaokao");
            return (Criteria) this;
        }

        public Criteria andScoreIsNull() {
            addCriterion("score is null");
            return (Criteria) this;
        }

        public Criteria andScoreIsNotNull() {
            addCriterion("score is not null");
            return (Criteria) this;
        }

        public Criteria andScoreEqualTo(Integer value) {
            addCriterion("score =", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotEqualTo(Integer value) {
            addCriterion("score <>", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreGreaterThan(Integer value) {
            addCriterion("score >", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("score >=", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreLessThan(Integer value) {
            addCriterion("score <", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreLessThanOrEqualTo(Integer value) {
            addCriterion("score <=", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreIn(List<Integer> values) {
            addCriterion("score in", values, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotIn(List<Integer> values) {
            addCriterion("score not in", values, "score");
            return (Criteria) this;
        }

        public Criteria andScoreBetween(Integer value1, Integer value2) {
            addCriterion("score between", value1, value2, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("score not between", value1, value2, "score");
            return (Criteria) this;
        }

        public Criteria andExtraScoreIsNull() {
            addCriterion("extra_score is null");
            return (Criteria) this;
        }

        public Criteria andExtraScoreIsNotNull() {
            addCriterion("extra_score is not null");
            return (Criteria) this;
        }

        public Criteria andExtraScoreEqualTo(Integer value) {
            addCriterion("extra_score =", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreNotEqualTo(Integer value) {
            addCriterion("extra_score <>", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreGreaterThan(Integer value) {
            addCriterion("extra_score >", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("extra_score >=", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreLessThan(Integer value) {
            addCriterion("extra_score <", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreLessThanOrEqualTo(Integer value) {
            addCriterion("extra_score <=", value, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreIn(List<Integer> values) {
            addCriterion("extra_score in", values, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreNotIn(List<Integer> values) {
            addCriterion("extra_score not in", values, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreBetween(Integer value1, Integer value2) {
            addCriterion("extra_score between", value1, value2, "extraScore");
            return (Criteria) this;
        }

        public Criteria andExtraScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("extra_score not between", value1, value2, "extraScore");
            return (Criteria) this;
        }

        public Criteria andWishOrderIsNull() {
            addCriterion("wish_order is null");
            return (Criteria) this;
        }

        public Criteria andWishOrderIsNotNull() {
            addCriterion("wish_order is not null");
            return (Criteria) this;
        }

        public Criteria andWishOrderEqualTo(Integer value) {
            addCriterion("wish_order =", value, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderNotEqualTo(Integer value) {
            addCriterion("wish_order <>", value, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderGreaterThan(Integer value) {
            addCriterion("wish_order >", value, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderGreaterThanOrEqualTo(Integer value) {
            addCriterion("wish_order >=", value, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderLessThan(Integer value) {
            addCriterion("wish_order <", value, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderLessThanOrEqualTo(Integer value) {
            addCriterion("wish_order <=", value, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderIn(List<Integer> values) {
            addCriterion("wish_order in", values, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderNotIn(List<Integer> values) {
            addCriterion("wish_order not in", values, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderBetween(Integer value1, Integer value2) {
            addCriterion("wish_order between", value1, value2, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andWishOrderNotBetween(Integer value1, Integer value2) {
            addCriterion("wish_order not between", value1, value2, "wishOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderIsNull() {
            addCriterion("major_order is null");
            return (Criteria) this;
        }

        public Criteria andMajorOrderIsNotNull() {
            addCriterion("major_order is not null");
            return (Criteria) this;
        }

        public Criteria andMajorOrderEqualTo(Integer value) {
            addCriterion("major_order =", value, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderNotEqualTo(Integer value) {
            addCriterion("major_order <>", value, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderGreaterThan(Integer value) {
            addCriterion("major_order >", value, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderGreaterThanOrEqualTo(Integer value) {
            addCriterion("major_order >=", value, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderLessThan(Integer value) {
            addCriterion("major_order <", value, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderLessThanOrEqualTo(Integer value) {
            addCriterion("major_order <=", value, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderIn(List<Integer> values) {
            addCriterion("major_order in", values, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderNotIn(List<Integer> values) {
            addCriterion("major_order not in", values, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderBetween(Integer value1, Integer value2) {
            addCriterion("major_order between", value1, value2, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andMajorOrderNotBetween(Integer value1, Integer value2) {
            addCriterion("major_order not between", value1, value2, "majorOrder");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidIsNull() {
            addCriterion("school_uuid is null");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidIsNotNull() {
            addCriterion("school_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidEqualTo(String value) {
            addCriterion("school_uuid =", value, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidNotEqualTo(String value) {
            addCriterion("school_uuid <>", value, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidGreaterThan(String value) {
            addCriterion("school_uuid >", value, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidGreaterThanOrEqualTo(String value) {
            addCriterion("school_uuid >=", value, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidLessThan(String value) {
            addCriterion("school_uuid <", value, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidLessThanOrEqualTo(String value) {
            addCriterion("school_uuid <=", value, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidLike(String value) {
            addCriterion("school_uuid like", value, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidNotLike(String value) {
            addCriterion("school_uuid not like", value, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidIn(List<String> values) {
            addCriterion("school_uuid in", values, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidNotIn(List<String> values) {
            addCriterion("school_uuid not in", values, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidBetween(String value1, String value2) {
            addCriterion("school_uuid between", value1, value2, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolUuidNotBetween(String value1, String value2) {
            addCriterion("school_uuid not between", value1, value2, "schoolUuid");
            return (Criteria) this;
        }

        public Criteria andSchoolNameIsNull() {
            addCriterion("school_name is null");
            return (Criteria) this;
        }

        public Criteria andSchoolNameIsNotNull() {
            addCriterion("school_name is not null");
            return (Criteria) this;
        }

        public Criteria andSchoolNameEqualTo(String value) {
            addCriterion("school_name =", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameNotEqualTo(String value) {
            addCriterion("school_name <>", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameGreaterThan(String value) {
            addCriterion("school_name >", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameGreaterThanOrEqualTo(String value) {
            addCriterion("school_name >=", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameLessThan(String value) {
            addCriterion("school_name <", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameLessThanOrEqualTo(String value) {
            addCriterion("school_name <=", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameLike(String value) {
            addCriterion("school_name like", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameNotLike(String value) {
            addCriterion("school_name not like", value, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameIn(List<String> values) {
            addCriterion("school_name in", values, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameNotIn(List<String> values) {
            addCriterion("school_name not in", values, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameBetween(String value1, String value2) {
            addCriterion("school_name between", value1, value2, "schoolName");
            return (Criteria) this;
        }

        public Criteria andSchoolNameNotBetween(String value1, String value2) {
            addCriterion("school_name not between", value1, value2, "schoolName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeIsNull() {
            addCriterion("majorgroup_code is null");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeIsNotNull() {
            addCriterion("majorgroup_code is not null");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeEqualTo(String value) {
            addCriterion("majorgroup_code =", value, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeNotEqualTo(String value) {
            addCriterion("majorgroup_code <>", value, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeGreaterThan(String value) {
            addCriterion("majorgroup_code >", value, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeGreaterThanOrEqualTo(String value) {
            addCriterion("majorgroup_code >=", value, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeLessThan(String value) {
            addCriterion("majorgroup_code <", value, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeLessThanOrEqualTo(String value) {
            addCriterion("majorgroup_code <=", value, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeLike(String value) {
            addCriterion("majorgroup_code like", value, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeNotLike(String value) {
            addCriterion("majorgroup_code not like", value, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeIn(List<String> values) {
            addCriterion("majorgroup_code in", values, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeNotIn(List<String> values) {
            addCriterion("majorgroup_code not in", values, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeBetween(String value1, String value2) {
            addCriterion("majorgroup_code between", value1, value2, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupCodeNotBetween(String value1, String value2) {
            addCriterion("majorgroup_code not between", value1, value2, "majorgroupCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeIsNull() {
            addCriterion("recruite_code is null");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeIsNotNull() {
            addCriterion("recruite_code is not null");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeEqualTo(String value) {
            addCriterion("recruite_code =", value, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeNotEqualTo(String value) {
            addCriterion("recruite_code <>", value, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeGreaterThan(String value) {
            addCriterion("recruite_code >", value, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeGreaterThanOrEqualTo(String value) {
            addCriterion("recruite_code >=", value, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeLessThan(String value) {
            addCriterion("recruite_code <", value, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeLessThanOrEqualTo(String value) {
            addCriterion("recruite_code <=", value, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeLike(String value) {
            addCriterion("recruite_code like", value, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeNotLike(String value) {
            addCriterion("recruite_code not like", value, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeIn(List<String> values) {
            addCriterion("recruite_code in", values, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeNotIn(List<String> values) {
            addCriterion("recruite_code not in", values, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeBetween(String value1, String value2) {
            addCriterion("recruite_code between", value1, value2, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andRecruiteCodeNotBetween(String value1, String value2) {
            addCriterion("recruite_code not between", value1, value2, "recruiteCode");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameIsNull() {
            addCriterion("majorgroup_name is null");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameIsNotNull() {
            addCriterion("majorgroup_name is not null");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameEqualTo(String value) {
            addCriterion("majorgroup_name =", value, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameNotEqualTo(String value) {
            addCriterion("majorgroup_name <>", value, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameGreaterThan(String value) {
            addCriterion("majorgroup_name >", value, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameGreaterThanOrEqualTo(String value) {
            addCriterion("majorgroup_name >=", value, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameLessThan(String value) {
            addCriterion("majorgroup_name <", value, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameLessThanOrEqualTo(String value) {
            addCriterion("majorgroup_name <=", value, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameLike(String value) {
            addCriterion("majorgroup_name like", value, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameNotLike(String value) {
            addCriterion("majorgroup_name not like", value, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameIn(List<String> values) {
            addCriterion("majorgroup_name in", values, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameNotIn(List<String> values) {
            addCriterion("majorgroup_name not in", values, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameBetween(String value1, String value2) {
            addCriterion("majorgroup_name between", value1, value2, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorgroupNameNotBetween(String value1, String value2) {
            addCriterion("majorgroup_name not between", value1, value2, "majorgroupName");
            return (Criteria) this;
        }

        public Criteria andMajorUuidIsNull() {
            addCriterion("major_uuid is null");
            return (Criteria) this;
        }

        public Criteria andMajorUuidIsNotNull() {
            addCriterion("major_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andMajorUuidEqualTo(String value) {
            addCriterion("major_uuid =", value, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidNotEqualTo(String value) {
            addCriterion("major_uuid <>", value, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidGreaterThan(String value) {
            addCriterion("major_uuid >", value, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidGreaterThanOrEqualTo(String value) {
            addCriterion("major_uuid >=", value, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidLessThan(String value) {
            addCriterion("major_uuid <", value, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidLessThanOrEqualTo(String value) {
            addCriterion("major_uuid <=", value, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidLike(String value) {
            addCriterion("major_uuid like", value, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidNotLike(String value) {
            addCriterion("major_uuid not like", value, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidIn(List<String> values) {
            addCriterion("major_uuid in", values, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidNotIn(List<String> values) {
            addCriterion("major_uuid not in", values, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidBetween(String value1, String value2) {
            addCriterion("major_uuid between", value1, value2, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorUuidNotBetween(String value1, String value2) {
            addCriterion("major_uuid not between", value1, value2, "majorUuid");
            return (Criteria) this;
        }

        public Criteria andMajorNameIsNull() {
            addCriterion("major_name is null");
            return (Criteria) this;
        }

        public Criteria andMajorNameIsNotNull() {
            addCriterion("major_name is not null");
            return (Criteria) this;
        }

        public Criteria andMajorNameEqualTo(String value) {
            addCriterion("major_name =", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameNotEqualTo(String value) {
            addCriterion("major_name <>", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameGreaterThan(String value) {
            addCriterion("major_name >", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameGreaterThanOrEqualTo(String value) {
            addCriterion("major_name >=", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameLessThan(String value) {
            addCriterion("major_name <", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameLessThanOrEqualTo(String value) {
            addCriterion("major_name <=", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameLike(String value) {
            addCriterion("major_name like", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameNotLike(String value) {
            addCriterion("major_name not like", value, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameIn(List<String> values) {
            addCriterion("major_name in", values, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameNotIn(List<String> values) {
            addCriterion("major_name not in", values, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameBetween(String value1, String value2) {
            addCriterion("major_name between", value1, value2, "majorName");
            return (Criteria) this;
        }

        public Criteria andMajorNameNotBetween(String value1, String value2) {
            addCriterion("major_name not between", value1, value2, "majorName");
            return (Criteria) this;
        }

        public Criteria andSubjectDescIsNull() {
            addCriterion("subject_desc is null");
            return (Criteria) this;
        }

        public Criteria andSubjectDescIsNotNull() {
            addCriterion("subject_desc is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectDescEqualTo(String value) {
            addCriterion("subject_desc =", value, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescNotEqualTo(String value) {
            addCriterion("subject_desc <>", value, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescGreaterThan(String value) {
            addCriterion("subject_desc >", value, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescGreaterThanOrEqualTo(String value) {
            addCriterion("subject_desc >=", value, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescLessThan(String value) {
            addCriterion("subject_desc <", value, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescLessThanOrEqualTo(String value) {
            addCriterion("subject_desc <=", value, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescLike(String value) {
            addCriterion("subject_desc like", value, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescNotLike(String value) {
            addCriterion("subject_desc not like", value, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescIn(List<String> values) {
            addCriterion("subject_desc in", values, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescNotIn(List<String> values) {
            addCriterion("subject_desc not in", values, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescBetween(String value1, String value2) {
            addCriterion("subject_desc between", value1, value2, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andSubjectDescNotBetween(String value1, String value2) {
            addCriterion("subject_desc not between", value1, value2, "subjectDesc");
            return (Criteria) this;
        }

        public Criteria andIsObeyIsNull() {
            addCriterion("is_obey is null");
            return (Criteria) this;
        }

        public Criteria andIsObeyIsNotNull() {
            addCriterion("is_obey is not null");
            return (Criteria) this;
        }

        public Criteria andIsObeyEqualTo(Boolean value) {
            addCriterion("is_obey =", value, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyNotEqualTo(Boolean value) {
            addCriterion("is_obey <>", value, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyGreaterThan(Boolean value) {
            addCriterion("is_obey >", value, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_obey >=", value, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyLessThan(Boolean value) {
            addCriterion("is_obey <", value, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyLessThanOrEqualTo(Boolean value) {
            addCriterion("is_obey <=", value, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyIn(List<Boolean> values) {
            addCriterion("is_obey in", values, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyNotIn(List<Boolean> values) {
            addCriterion("is_obey not in", values, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyBetween(Boolean value1, Boolean value2) {
            addCriterion("is_obey between", value1, value2, "isObey");
            return (Criteria) this;
        }

        public Criteria andIsObeyNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_obey not between", value1, value2, "isObey");
            return (Criteria) this;
        }

        public Criteria andModeTypeIsNull() {
            addCriterion("mode_type is null");
            return (Criteria) this;
        }

        public Criteria andModeTypeIsNotNull() {
            addCriterion("mode_type is not null");
            return (Criteria) this;
        }

        public Criteria andModeTypeEqualTo(Integer value) {
            addCriterion("mode_type =", value, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeNotEqualTo(Integer value) {
            addCriterion("mode_type <>", value, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeGreaterThan(Integer value) {
            addCriterion("mode_type >", value, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("mode_type >=", value, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeLessThan(Integer value) {
            addCriterion("mode_type <", value, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeLessThanOrEqualTo(Integer value) {
            addCriterion("mode_type <=", value, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeIn(List<Integer> values) {
            addCriterion("mode_type in", values, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeNotIn(List<Integer> values) {
            addCriterion("mode_type not in", values, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeBetween(Integer value1, Integer value2) {
            addCriterion("mode_type between", value1, value2, "modeType");
            return (Criteria) this;
        }

        public Criteria andModeTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("mode_type not between", value1, value2, "modeType");
            return (Criteria) this;
        }

        public Criteria andOptionalModeIsNull() {
            addCriterion("optional_mode is null");
            return (Criteria) this;
        }

        public Criteria andOptionalModeIsNotNull() {
            addCriterion("optional_mode is not null");
            return (Criteria) this;
        }

        public Criteria andOptionalModeEqualTo(String value) {
            addCriterion("optional_mode =", value, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeNotEqualTo(String value) {
            addCriterion("optional_mode <>", value, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeGreaterThan(String value) {
            addCriterion("optional_mode >", value, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeGreaterThanOrEqualTo(String value) {
            addCriterion("optional_mode >=", value, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeLessThan(String value) {
            addCriterion("optional_mode <", value, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeLessThanOrEqualTo(String value) {
            addCriterion("optional_mode <=", value, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeLike(String value) {
            addCriterion("optional_mode like", value, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeNotLike(String value) {
            addCriterion("optional_mode not like", value, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeIn(List<String> values) {
            addCriterion("optional_mode in", values, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeNotIn(List<String> values) {
            addCriterion("optional_mode not in", values, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeBetween(String value1, String value2) {
            addCriterion("optional_mode between", value1, value2, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andOptionalModeNotBetween(String value1, String value2) {
            addCriterion("optional_mode not between", value1, value2, "optionalMode");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}